package com.indexingsystem.boss.admin.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.indexingsystem.boss.Vo.TerminalsVo;
import com.indexingsystem.boss.entity.Terminals;

@Repository
public interface TerminalsMapper {

	/**
	 * 根据终端id删除终端信息.
	 * 
	 * @param terminalCode
	 * @return
	 */
	int deleteByPrimaryKey(String terminalCode);

	int deleteTerminalsByIdBatch(@Param("list") List<String> list);

	/**
	 * 新增终端信息.
	 * 
	 * @param record
	 * @return
	 */
	int insert(Terminals record);

	/**
	 * 带条件新增终端信息
	 * 
	 * @param record
	 * @return
	 */
	int insertSelective(Terminals record);

	/**
	 * 查询终端列表
	 * 
	 * @return
	 */
	List<Terminals> selectTerminalsList(String queryCriteria);
	
	/**
	 * 批量获取终端离线数据包.
	 * @return
	 */
	List<Terminals> getTerminalsList();

	/**
	 * 通过终端id查询终端信息
	 * 
	 * @param terminalCode
	 * @return
	 */
	Terminals selectByPrimaryKey(@Param("terminalCode") String terminalCode);

	/**
	 * 通过条件修改终端信息.
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(Terminals record);

	/**
	 * 修改终端信息
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKey(Terminals record);

	/**
	 * 获取终端信息总数据记录.
	 * 
	 * @return
	 */
	Integer getTerminalsCount(String queryCriteria);

	/**
	 * 通过终端code和终端名称获取终端信息，判断是否存在重复.
	 * 
	 * @param terminalsVo
	 * @return
	 */
	Terminals getTerminalsByTerminalCodeOrTerminalName(TerminalsVo terminalsVo);
	
	
	   /**
     * 通过终端id查询终端关联资源关系列表.
     * @param terminalId
     * @return
     */
    List<Terminals> getTerminalsByTerminalId(String terminalId);
    //查询终端列表
    List<Terminals>   getTerminalsByTerminalList();
    
}